//
//@File    :	13.4_tabtenn1.h
//@Time    :	2021/09/18 10:53:02
//@Auther  :	Sun Sheng
//@Contact :	970340843@qq.com
//@Desc    :	a table-tennis base class
//
//派生类与基类可以放在一个头文件里,也可以分开放
#ifndef TABTENN1_H_
#define TABTENN1_H_
#include <string>
using std::string;
//simple base class
class TableTennisPlayer
{
private:
    string firstname;
    string lastname;
    bool hasTable;
public:
    TableTennisPlayer(const string & fn="none",const string & ln="none",bool ht=false);
    void Name() const;
    bool HasTable() const {return hasTable;};
    void ResetTable(bool v){hasTable=v;};
};

//simple derived class
//派生类不能直接访问基类的私有成员,只能通过基类的方法进行访问
//派生类构造函数必须使用基类构造函数
class RatedPlayer:public TableTennisPlayer
{
private:
    unsigned int rating;//成员比赛中的比分
public:
    RatedPlayer(unsigned int r=0,const string & fn="none",const string & ln="none",bool ht=false);
    RatedPlayer(unsigned int r,const TableTennisPlayer & tp);
    unsigned int Rating () const {return rating;}//显示比分
    void ResetRating(unsigned int r){rating=r;}//更改比分
};
#endif	// TABTENN1_H_